package reflect;

import java.lang.reflect.Method;

/**
 * 获取Person类中所有方法，判断方法上是否有AutoRunMethod注解，有就执行，没有就提示
 */
public class Test3 {
    public static void main(String[] args) {
        try {
            Class cls = Class.forName("reflect.Person");
            Object o = cls.newInstance();
            Method[] methods = cls.getDeclaredMethods();
            for (Method method : methods){
                if (method.isAnnotationPresent(AutoRunMethod.class)){
                    method.invoke(o);
                }else {
                    System.out.println(method.getName()+"该方法没有被标记");
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
